/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projetbi_parsing;

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import projetbi_objets.OClient;
import tools.XLSXReader;

/**
 * Projet BI - M2 FIC 2012-2013
 *
 * @author Jef, Tuan-Long, William, Mohamed
 */
public class ClientCreator {

    public ClientCreator() {
        // Vide.
    }

    public OClient cCr_createClient(String infosBrutes) {
        OClient resC = new OClient();
        XLSXReader xlsxR = new XLSXReader();
        ArrayList<String> alInfosAllClients = new ArrayList();

        // Découpage des infos brutes
        if (infosBrutes != null) {
            String[] infosCoupees;
            String delimiterIB = new String("_");
            infosCoupees = infosBrutes.split(delimiterIB);

            // Ligne de test, à virer
            //System.out.println("--------- infosCoupees[0] : " + infosCoupees[0]);

            // Récupération du reste des infos
            alInfosAllClients = xlsxR.xlsx_getArrayListFromFile(".\\FicheClients.xls");

            Iterator<String> iter_s = alInfosAllClients.iterator();
            int onATrouve = 0;
            while (iter_s.hasNext()) {
                String tmp_line = iter_s.next();
                if (tmp_line.toLowerCase().contains(infosCoupees[0].toLowerCase())) {
                    String[] xlsxLineCoupee;
                    String delimiterXLS = new String("\t");
                    xlsxLineCoupee = tmp_line.split(delimiterXLS);

                    resC.setAdresseClient(xlsxLineCoupee[1]);
                    resC.setSecteurActiviteClient(xlsxLineCoupee[2]);
                    resC.setTailleClient(cCr_convertTaille(xlsxLineCoupee[3]));
                    resC.setPaysClient(xlsxLineCoupee[4]);
                    resC.setLangueClient(xlsxLineCoupee[5]);
                    onATrouve = 1;
                }
            }
            if (onATrouve == 0) {
                resC.setAdresseClient("Paris");
                resC.setSecteurActiviteClient("Divers");
                resC.setTailleClient(4);
                resC.setPaysClient("France");
                resC.setLangueClient("Français");

            }

            // Remplissage du reste des attributs du client
            resC.setIdClient(0);
            resC.setNomClient(infosCoupees[0]);
        }

        // Ligne de test, à virer
        //System.out.println("--------- resC.getNomClient() : " + resC.getNomClient());
        //System.out.println("--------- resC.getSecteurActiviteClient() : " + resC.getSecteurActiviteClient());
        //System.out.println("--------- resC.getTailleClient() : " + resC.getTailleClient());

        return resC;
    }

    public int cCr_convertTaille(String taille) {
        int resI = 4;

        if (taille.equals("Micro entreprise")) {
            resI = 1;
        }
        if (taille.equals("ME")) {
            resI = 1;
        }
        if (taille.equals("TPE")) {
            resI = 2;
        }
        if (taille.equals("PE")) {
            resI = 3;
        }
        if (taille.equals("PME")) {
            resI = 4;
        }
        if (taille.equals("GE")) {
            resI = 5;
        }
        if (taille.equals("TGE")) {
            resI = 6;
        }

        return resI;
    }
}
